The present invention is related to the field of data communications networks, and more particularly to techniques for configuring node addresses in Internet Protocol (IP) and other networks.
One task to be performed in managing data communications networks is assigning addresses to network nodes, a process also referred to as “configuring” addresses in the network. In particular, it is necessary to configure addresses used at the network layer, or layer 3, of network operation as defined in the Open Systems Interconnect (OSI) communications model. At the network layer, message routing protocols are generally used to route messages among the network nodes. Network-layer addresses are used to uniquely identify the sources and destinations of messages, and devices known as “routers” use these addresses to forward messages toward respective destination nodes.
Network layer addresses typically reflect network topology to at least some degree. For example, it is common to assign a block of network-layer addresses having a single “prefix” for exclusive use by nodes connected to a given single link, such as an Ethernet local-area network (LAN). Such a prefix may consist, for example, of some number of most significant bits of a 32-bit IP address. For example, the prefix for a given link may be a 3-byte value represented as 10.4.4. The full address of each node on the link is formed by concatenating the prefix with a node-specific least-significant part, such as a one-byte node number. Thus, the address for node number 122, for example, on the above link would be 10.4.4.122. Network routers utilize the prefix portion of network addresses to forward messages within the network according to the routing protocol. The last router in a path requires the full address in order to identify a specific destination node on the destination link.
Because they reflect network topology, network layer addresses must be configured dynamically, in the context of a specific operational network. In this regard, network-layer addresses differ from layer-2 addresses, or link-layer addresses, which can be device-specific. An example of such layer-2 addresses are Ethernet media access control (MAC) addresses, which are also known as Equipment Unique Identifier 48 (EUI-48) addresses. These addresses are 48 bits in length, and they are generally assigned to devices at the time of their manufacture. An administrative address-assigning authority is responsible for assigning these addresses in a coherent fashion, specifically to ensure global uniqueness of assigned addresses.
Network-layer addresses must be unique within a given network region in which a particular routing protocol is used, in order to unambiguously identify the sources and destinations of messages. To satisfy this uniqueness requirement as well as the above-described topology requirements, the address configuration process has generally been carried out by a human network operator using network management tools. However, the manual configuring of network addresses can have undesirable drawbacks. The configuration process can be time consuming and error prone. For this reason, it is desirable to automate the configuring of network addresses as much as possible.
In U.S. Pat. No. 5,398,242 of Perlman, issued Mar. 14, 1995 and entitled “Automatically Configuring LAN Numbers”, a technique is described for automatically assigning numbers to local area networks (LANs) in an extended network having several LANs connected together by bridges. The LAN numbers are used by the bridges to identify LANs in a source routing protocol. One bridge on each LAN becomes a “designated bridge” for the LAN. A central database is used to maintain associations between designated bridges and assigned LAN numbers. The designated bridge for a LAN obtains a LAN number by transmitting a request identifying the bridge and a bridge port to which the LAN is connected. In response, a “root” bridge selects an unused LAN number and includes it in a response message sent back to the requesting bridge. The requesting bridge in turn transmits LAN number identification messages incorporating the LAN number to the other bridges on the LAN, which then use the LAN numbers in executing the source routing protocol.
A network configuration issue that is related to the problem of address configuration is the issue of the best deployment of routers and bridges. There are tradeoffs to be made when considering either device for a given network location. Bridges generally have the advantages of simplicity and low cost. Additionally, there is a large installed base of Ethernet LANs which employ bridges. As traffic increases on a group of bridged links, however, performance can degrade significantly. When a router is used, the various attached links are treated as separate entities from the perspective of the routing protocol. The links are de-coupled from each other at the data link layer, thus operating more independently. However, the use of a router generally results in higher costs and increases the demand for network-layer addresses. Once a router or bridge has been chosen for a given location, traffic conditions may change such that better performance or cost effectiveness could be achieved by replacing a router with a bridge or vice-versa. However, it may be difficult and costly to make such a replacement. A network operator may be forced to choose between undesirable expenditures and sub-optimal network performance.